圖像的機(jī)器人視覺伺服實驗研究
制造出像人一樣具有智能的能替代人類勞動的機(jī)器人,一直是人類的夢想,人類獲取的信息80%以上是通過視覺。因此,在智能機(jī)器人的研究中,具有視覺的機(jī)器人的研究也就成了第一位的。對機(jī)器人視覺伺服系統(tǒng)的研究是機(jī)器人領(lǐng)域中的重要內(nèi)容之一,其研究成果可應(yīng)用在機(jī)器人自動避障、軌跡跟蹤和運(yùn)動目標(biāo)跟蹤等問題中。從反饋信息類型的角度分類,機(jī)器人視覺伺服系統(tǒng)可分為基于位置的視覺伺服系統(tǒng)(position-base)和基于圖像的視覺伺服系統(tǒng)(image-base)[1]?;谖恢玫囊曈X伺服系統(tǒng)首先要估計目標(biāo)物體在直角坐標(biāo)空間中相對于攝像機(jī)的位置,其視覺伺服誤差定義在三維笛卡爾空間,視覺或特征信息用來估計機(jī)械手末端與目標(biāo)的相對位姿,這種方法需要對視覺系統(tǒng)和機(jī)器人進(jìn)行精確標(biāo)定,另外由于要對圖像進(jìn)行解釋,因而計算量較大?;趫D像的視覺伺服系統(tǒng)的伺服誤差直接定義在圖像特征空間,即攝像機(jī)觀察到的特征信息直接用于反饋,不需要對三維姿態(tài)進(jìn)行估計,但系統(tǒng)需在線計算圖像雅可比矩陣(圖像特征參數(shù)變化量與任務(wù)空間位姿變化量的關(guān)系矩陣)及其逆陣,而圖像雅可比矩陣跟許多實時變化的參數(shù)有關(guān),這是一個復(fù)雜的非線性過程,從理論上很難分析,并且對機(jī)器人的控制設(shè)計提出了較大的要求[2]。機(jī)器人視覺伺服系統(tǒng)是一個很復(fù)雜的系統(tǒng),綜合了許多學(xué)科的內(nèi)容,而各學(xué)科的發(fā)展又極不平衡,影響了其進(jìn)一步發(fā)展。正是基于此,機(jī)器人視覺伺服研究目前處于停滯不前的狀態(tài),國內(nèi)對此方面的研究大多只是進(jìn)行了仿真實驗,而未在實際機(jī)器人系統(tǒng)上實現(xiàn)。本文利用松下交流伺服系統(tǒng)、pmac運(yùn)動控制卡、dsp圖像處理系統(tǒng)、工控機(jī)和機(jī)器人組成了伺服系統(tǒng),在具體機(jī)器人系統(tǒng)中對其進(jìn)行實驗研究,探索基于圖像的機(jī)器人視覺伺服實現(xiàn)問題。
機(jī)器人視覺伺服系統(tǒng)組成部分
機(jī)器人系統(tǒng)及研究內(nèi)容機(jī)器人視覺系統(tǒng)數(shù)學(xué)模型
本文擬對系統(tǒng)進(jìn)行實驗研究。建立機(jī)器人坐標(biāo)、攝像機(jī)坐標(biāo)、圖像坐標(biāo)和目標(biāo)點(diǎn)坐標(biāo)的坐標(biāo)變換關(guān)系。圖2是在機(jī)器人的第二根桿末端安裝一個攝像頭,形成eye-in-hand構(gòu)型而建立的坐標(biāo)變換關(guān)系圖。圖3是攝像機(jī)系統(tǒng)坐標(biāo)與圖像坐標(biāo)的關(guān)系及成像原理示意圖。
設(shè)機(jī)器人第一關(guān)節(jié)和第二關(guān)節(jié)的轉(zhuǎn)角分別為θ1和θ2,第一根桿長為l1,第二根桿長為l2。選取圖2中o點(diǎn)作為基坐標(biāo)參考點(diǎn),用[x0 y0 z0]t表示,攝像機(jī)坐標(biāo)系用[xc yc zc]t表示,圖像坐標(biāo)系用[u w]t表示;機(jī)器人第一關(guān)節(jié)用[x1 y1 z1]t表示,第二關(guān)節(jié)用[x2 y2 z2]t表示,設(shè)固定的目標(biāo)點(diǎn)pc在攝像機(jī)坐標(biāo)系(c)的齊次坐標(biāo)為: pc =[xc yc zc1]t,在基坐標(biāo)系(o)的齊次坐標(biāo)為:p0=[x0 y0 z0 1]t,兩個坐標(biāo)系之間的變換關(guān)系為:p0=0tcpc。
根據(jù)機(jī)器人運(yùn)動學(xué)得到攝像機(jī)坐標(biāo)系與基坐標(biāo)系之間的變換矩陣如下:
本實驗中機(jī)器人兩個關(guān)節(jié)均是由松下交流伺服電機(jī)驅(qū)動,電機(jī)和其驅(qū)動控制器共同構(gòu)成了松下交流伺服系統(tǒng)。松下minasa系列交流伺服系統(tǒng)由a系列驅(qū)動器和配套交流伺服電機(jī)組成。其以三相交流伺服系統(tǒng)為基本原理[5],采用光電編碼器作為電機(jī)轉(zhuǎn)速和轉(zhuǎn)子磁極位置檢測單元,系統(tǒng)在驅(qū)動器內(nèi)部集成了相關(guān)功能模塊,構(gòu)成了一個高集成度、高控制精度、數(shù)字化、智能化的閉環(huán)伺服控制系統(tǒng)。根據(jù)期望輸入指令值,按照已設(shè)定好的控制方式和各參數(shù)設(shè)定值,驅(qū)動器控制各相關(guān)功能單元,產(chǎn)生出控制igbtpwm模塊的信號,最終控制伺服電機(jī)按照期望值運(yùn)轉(zhuǎn)。系統(tǒng)具有分倍頻功能,可以以多種形式將反饋脈沖輸出給外部控制器或接收位置控制指令信號。系統(tǒng)具有多種控制模式,如速度和轉(zhuǎn)矩控制模式,以模擬信號作為輸入,本文采用的是轉(zhuǎn)矩控制模式[6]。
pmac運(yùn)動控制卡
pmac運(yùn)動控制卡是美國delta tau data systems公司生產(chǎn)的一種可編程、高性能伺服運(yùn)動多軸控制器,采用motorola公司的數(shù)字信號處理芯片dsp56001作為cpu。
pmac可認(rèn)為是一臺完整的計算機(jī),用dsp芯片作為主處理器,處理8個軸的所有計算并可同時控制8軸運(yùn)動,具有獨(dú)立的存儲空間、輸入輸出接口以及其他外圍擴(kuò)展電路。它可與各種類型的主機(jī)、放大器、電機(jī)、傳感器結(jié)合完成各種類型的功能,只要我們應(yīng)用好其硬件特性和軟件特性,依據(jù)特定的功能要求對其進(jìn)行設(shè)置,就能使它正常高效地工作。pmac卡為用戶提供了pwin32應(yīng)用軟件和pcomm32pro動態(tài)鏈接庫。高級語言通過pcomm32pro動態(tài)鏈接庫,可以直接調(diào)用相關(guān)函數(shù)與pmac卡進(jìn)行通訊,從而實現(xiàn)對pmac卡的控制[7]。本文將它與松下交流伺服系統(tǒng)配合使用。
dsp圖像處理系統(tǒng)及圖像處理
系統(tǒng)簡介
本實驗中采用的是北京合眾達(dá)公司的seed-vpm642視頻處理系統(tǒng),該系統(tǒng)是一款專為各種視頻應(yīng)用而開發(fā)的pci插卡或帶10/100m以太網(wǎng)接口的處理系統(tǒng)。它是在tms320dm642芯片基礎(chǔ)上通過外擴(kuò)容量為4m×64位的同步動態(tài)存儲器sdram;容量為4m×8位的在線電可擦/寫異步存儲器flash;可配置為rs232/rs422/rs485標(biāo)準(zhǔn)的兩路uart串行接口;4路pal/ntsc標(biāo)準(zhǔn)模擬視頻輸入,1路pal/ntsc標(biāo)準(zhǔn)模擬視頻輸出;4路立體聲音頻輸入/輸出;實時時鐘rtc和512×8位eeprom;32位的33mhz、支持主/從模式的pci接口或者10/100mbase-tx標(biāo)準(zhǔn)以太網(wǎng)接口;標(biāo)準(zhǔn)ata硬盤接口;以及esam硬件加密模塊。系統(tǒng)可實時實現(xiàn)多路數(shù)字視頻/音頻的編解碼運(yùn)算,如mpeg4、h.264、g.729等;可實時接收4路視頻/音頻輸入,并實時輸出。并能實現(xiàn)與其他io設(shè)備、計算機(jī)、存儲設(shè)備、以太網(wǎng)絡(luò)進(jìn)行實時數(shù)據(jù)的高速傳輸和處理。系統(tǒng)由實驗箱體、ccd攝像頭、seed-vpm642處理板等組成。在箱體上已固定好兩個串行接口、硬盤接口、4路圖像輸入和輸出接口、液晶顯示器等[8]。
圖像處理
本實驗圖像處理具體實現(xiàn)過程如圖4所示。
機(jī)器人視覺伺服系統(tǒng)工作流程
硬件流程
本實驗系統(tǒng)由工控機(jī)、pmac運(yùn)動控制卡、松下交流伺服系統(tǒng)、dsp圖像處理系統(tǒng)和機(jī)器人組成。了解和熟悉松下交流伺服系統(tǒng)的原理和功能后,調(diào)試機(jī)器人關(guān)節(jié)伺服電機(jī)的運(yùn)行,優(yōu)化相關(guān)控制參數(shù)以求獲得最好伺服效果;研究pmac運(yùn)動控制卡的原理和功能,并與松下交流伺服系統(tǒng)配合,編寫運(yùn)動程序,不斷調(diào)整和優(yōu)化pmac卡的控制參數(shù),以求獲得滿意的運(yùn)動控制效果;對seed-vpm642圖像處理系統(tǒng)進(jìn)行深入學(xué)習(xí)和研究后,開發(fā)視頻圖像處理程序。組成該系統(tǒng)的硬件流程圖如圖5所示。
系統(tǒng)工作流程
給定期望目標(biāo)物體質(zhì)心圖像坐標(biāo),主控程序計算其與由dsp圖像處理系統(tǒng)反饋的質(zhì)心圖像坐標(biāo)值的差值,判斷系統(tǒng)是否已到達(dá)伺服位置,若已到達(dá),則結(jié)束伺服過程;否則,求解圖像雅可比矩陣的逆陣,得到機(jī)器人兩個關(guān)節(jié)應(yīng)轉(zhuǎn)動的角度值,并將其輸出給pmac運(yùn)動程序,pmac卡按運(yùn)動程序計算并輸出轉(zhuǎn)矩指令給松下伺服控制器,由它直接控制機(jī)器人關(guān)節(jié)電機(jī)的運(yùn)轉(zhuǎn),通過編碼器檢測關(guān)節(jié)的位置,反饋給伺服控制器和pmac卡(伺服控制器對編碼器信號進(jìn)行處理后自身使用并可同時輸出)。ccd攝像頭跟隨機(jī)器人運(yùn)動,攝取目標(biāo)物體圖像,通過dsp圖像處理程序處理后求得目標(biāo)物體質(zhì)心圖像坐標(biāo),通過串口通訊傳遞給主控程序作為視覺反饋量,形成視覺伺服循環(huán)。
實驗結(jié)果
基于上述系統(tǒng)原理,在vc++6.0環(huán)境下編寫主控程序,主控程序主要包括界面的顯示和人機(jī)交互部分、圖像雅可比矩陣逆陣部分、pmac應(yīng)用程序部分,串口通信部分、數(shù)據(jù)存儲部分。程序運(yùn)行界面如圖6所示。
提交
工業(yè)機(jī)器人控制系統(tǒng)的開放體系結(jié)構(gòu)
工業(yè)機(jī)器人離線編程及無碰撞路徑規(guī)劃系統(tǒng)的開發(fā)研究
工業(yè)機(jī)器人手臂結(jié)構(gòu)的有限元分析與研究
工業(yè)機(jī)器人通用控制器研究開發(fā)
工業(yè)機(jī)器人網(wǎng)絡(luò)控制與編程